package unionfind;


public class Main {

	public static void main(String[] args) {
		UnionFind uf = new UnionFind_QU_R(12);
		uf.union(0, 1);
		uf.union(0, 3);
		uf.union(0, 4);
		uf.union(2, 3);
		uf.union(2, 5);

		uf.union(6, 7);

		uf.union(8, 10);
		uf.union(9, 10);
		uf.union(9, 11);

		//判断0的父节点和5的父节点是否相同
		System.out.println(uf.isSame(0, 5));
		System.out.println(uf.isSame(2, 7));
	}

	public static void test2() {
		UnionFind uf = new UnionFind_QU_S(12);
		uf.union(0, 1);
		uf.union(0, 3);
		uf.union(0, 4);
		uf.union(2, 3);
		uf.union(2, 5);

		uf.union(6, 7);

		uf.union(8, 10);
		uf.union(9, 10);
		uf.union(9, 11);

		//判断0的父节点和5的父节点是否相同
		System.out.println(uf.isSame(0, 5));
		System.out.println(uf.isSame(2, 7));
	}

	public static void test1() {
		UnionFind uf = new UnionFind_QF(12);
		uf.union(0, 1);
		uf.union(0, 3);
		uf.union(0, 4);
		uf.union(2, 3);
		uf.union(2, 5);

		uf.union(6, 7);

		uf.union(8, 10);
		uf.union(9, 10);
		uf.union(9, 11);

		//判断0的父节点和6的父节点是否相同
		System.out.println(uf.isSame(0, 5));
		System.out.println(uf.isSame(2, 7));
	}
	

}
